g_datalist_init (&priv->queued_settings);
object_list = g_slist_prepend (object_list, settings);
+ priv->theme_provider = gtk_css_provider_new ();
+
/* build up property array for all yet existing properties and queue
* notification for them (at least notification for internal properties
* will instantly be caught)
GTK_STYLE_PROVIDER (settings),
GTK_STYLE_PROVIDER_PRIORITY_SETTINGS);
+ gtk_style_context_add_provider_for_screen (screen,
+ GTK_STYLE_PROVIDER (settings->priv->theme_provider),
+ GTK_STYLE_PROVIDER_PRIORITY_SETTINGS);
+
settings_update_theme (settings);
settings_update_key_theme (settings);
}
settings_update_theme (GtkSettings *settings)
{
GtkSettingsPrivate *priv = settings->priv;
- GtkCssProvider *provider = NULL;
gboolean prefer_dark_theme;
gchar *theme_name;
theme_name = g_strdup ("Raleigh");
}
- provider = gtk_css_provider_get_named (theme_name, prefer_dark_theme ? "dark" : NULL);
-
- settings_update_provider (priv->screen, &priv->theme_provider, provider);
+ _gtk_css_provider_load_named (priv->theme_provider,
+ theme_name,
+ prefer_dark_theme ? "dark" : NULL);
if (theme_name && *theme_name)
{